#ifndef GRAPHICALMF_H
#define GRAPHICALMF_H

#include <QPainter>

#include "basicmembershipfunction.h"

class GraphicalMF: public BasicMembershipFunction
{
public:

    /** Paint the this GraphicalMF using the scaling and shifting factors that
     * are provided.
     */
    virtual void paint(QPainter* painter,
                       const double &xShift,
                       const double &xScale,
                       const double &yShift,
                       const double &yScale) const;

    /** Convert all the points of this MF to be in relation to the shifting and
     * scaling factors that are provided
     */
    QPointF *getGraphicsPoints(const double &xShift,
                               const double &xScale,
                               const double &yShift,
                               const double &yScale) const;

protected:

    GraphicalMF(const QString &type, const int &size);

};

#endif // GRAPHICALMF_H
